﻿using System;
using System.Collections.Generic;
using System.Collections;

using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class admin_JobPosition_Title : System.Web.UI.Page
{
    public ArrayList jobpositionarr = null;
    public int id = 0;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["user"] == null) { Response.Redirect("../Index.aspx"); }
        jobpositionarr = (ArrayList)DB.getArrPuestoEmpleado("");
        if (!Page.IsPostBack)
        {
            llenocompanias();

            if (Request.QueryString["id"] != null) id = int.Parse(Request.QueryString["id"].ToString());

            lb_puesto_id.Text = id.ToString();

            RE_GenericBean puesto = DB.getPuestoEmpleado(id);

            lb_puesto_id.Text = puesto.intC1.ToString();
            tb_job_name.Text = puesto.strC1;
            tb_job_descripcion.Text = puesto.strC2;
            tb_salario_minimo.Text = puesto.decC1.ToString();
            tb_salario_maximo.Text = puesto.decC2.ToString();
            ddl_moneda.Text = puesto.strC3;
            tb_incremento.Text = puesto.decC3.ToString();
            ddl_company.SelectedValue = puesto.intC2.ToString();

            if (puesto.intC4 == 1)
                chk_superior.Checked = true;
            else
                chk_superior.Checked = false;

            if (puesto.intC1 != 0)
            {
                habilitocampos(false);
                HyperLink1_ModalPopupExtender.Show();
            }
        }
        else
        {
            id = int.Parse(lb_puesto_id.Text);
        }

    }

    private void habilitocampos(bool estado)
    {
        tb_job_name.Enabled = estado;
        tb_job_descripcion.Enabled = estado;
        tb_salario_minimo.Enabled = estado;
        tb_salario_maximo.Enabled = estado;
        ddl_moneda.Enabled = estado;
        tb_incremento.Enabled = estado;
        ddl_company.Enabled = estado;
    }
    private void llenocompanias()
    {
        ArrayList companyarr = null;
        ListItem item = null;
        try
        {
            companyarr = (ArrayList)DB.getArrCompania("");
            if (companyarr != null && companyarr.Count > 0)
            {
                foreach (RE_GenericBean company in companyarr)
                {
                    item = new ListItem(company.strC1, company.intC1.ToString());
                    ddl_company.Items.Add(item);
                }
            }
        }
        catch (Exception err)
        {
            utility.log(err.StackTrace);
        }
    }
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        bool actualiza = false;

        RE_GenericBean puesto = new RE_GenericBean();

        puesto.intC1 = int.Parse(lb_puesto_id.Text);
        puesto.intC2 = int.Parse(ddl_company.SelectedValue);
        puesto.strC1 = tb_job_name.Text.Trim().ToUpper();
        puesto.strC2 = tb_job_descripcion.Text.Trim();
        if (tb_salario_minimo.Text != "") puesto.decC1 = decimal.Parse(tb_salario_minimo.Text.Trim());
        else puesto.decC1 = 0;
        if (tb_salario_maximo.Text != "") puesto.decC2 = decimal.Parse(tb_salario_maximo.Text.Trim());
        else puesto.decC2 = 0;
        puesto.strC3 = ddl_moneda.SelectedValue;
        if (tb_incremento.Text != "") puesto.decC3 = decimal.Parse(tb_incremento.Text.Trim());
        else puesto.decC3 = 0;
        if (chk_superior.Checked == true)
            puesto.intC4 = 1;
        else
            puesto.intC4 = 0;

        if (puesto.intC1 != 0) actualiza = true;

        if (DB.InsertJobPosition(puesto, actualiza))
        {
            habilitocampos(false);
            Response.Redirect("JobPosition_Title.aspx");
        }
    }
    protected void LinkButton2_Click(object sender, EventArgs e)
    {
        habilitocampos(true);
        HyperLink1_ModalPopupExtender.Show();
    }
    protected void LinkButton3_Click(object sender, EventArgs e)
    {
        int id = 0;
        id = int.Parse(lb_puesto_id.Text);
        if (id != 0)
        {
            int result = DB.DeleteJobPosition(id);
            Response.Redirect("JobPosition_Title.aspx");
        }

    }
    protected void btnCuentaCancelar_Click(object sender, EventArgs e)
    {
        Response.Redirect("JobPosition_Title.aspx");
    }
}